.merchant-container {
  min-height: 100vh;
  background: #f8f8f8;

  .header-image {
    position: relative;
    width: 100%;
    height: 400rpx;

    image {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .status-tag {
      position: absolute;
      right: 30rpx;
      top: 30rpx;
      padding: 8rpx 24rpx;
      border-radius: 30rpx;
      font-size: 24rpx;
      background: rgba(0, 0, 0, 0.6);
      color: #fff;
      backdrop-filter: blur(10px);

      &.active {
        background: rgba(7, 193, 96, 0.8);
      }
    }
  }

  .info-card {
    margin: -50rpx 30rpx 0;
    padding: 30rpx;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    border-radius: 24rpx;
    box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.05);

    .store-name {
      font-size: 40rpx;
      font-weight: 600;
      color: #333;
      margin-bottom: 12rpx;
    }

    .merchant-name {
      font-size: 28rpx;
      color: #666;
      margin-bottom: 20rpx;
    }

    .rating-info {
      display: flex;
      justify-content: space-between;
      font-size: 24rpx;
      color: #999;
    }
  }

  .contact-card,
  .desc-card {
    margin: 30rpx;
    padding: 30rpx;
    background: #fff;
    border-radius: 24rpx;
    box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.03);
  }

  .breakfast-coupon {
    margin: 30rpx;
    background: linear-gradient(135deg, #ff5722, #ff7043);
    border-radius: 24rpx;
    padding: 30rpx;
    box-shadow: 0 4rpx 16rpx rgba(255, 87, 34, 0.2);

    .coupon-content {
      display: flex;
      align-items: center;

      .coupon-left {
		  display: flex;
		  align-items: center;
        flex: 0 0 180rpx;
        border-right: 2rpx dashed rgba(255, 255, 255, 0.5);
        padding-right: 30rpx;
        text-align: center;

        .desc {
          display: block;
          font-size: 28rpx;
          color: #fff;
          margin-top: 12rpx;
          font-weight: 500;
        }
      }

      .coupon-right {
        flex: 1;
        padding-left: 30rpx;

        .title {
          display: block;
          font-size: 32rpx;
          font-weight: bold;
          color: #fff;
        }

        .subtitle {
          display: block;
          font-size: 24rpx;
          color: rgba(255, 255, 255, 0.9);
          margin: 8rpx 0 20rpx;
        }

        .exchange-btn {
          background: #fff;
          color: #ff5722;
          font-size: 26rpx;
          padding: 12rpx 30rpx;
          border-radius: 30rpx;
          border: none;
          font-weight: bold;
          display: flex;
          align-items: center;
          justify-content: center;

          .btn-icon {
            margin-right: 8rpx;
          }

          &::after {
            border: none;
          }
        }
      }
    }
  }

  .contact-item {
    display: flex;
    align-items: center;
    margin-bottom: 20rpx;

    .label {
      width: 140rpx;
      font-size: 26rpx;
      color: #999;
    }

    .value {
      flex: 1;
      font-size: 26rpx;
      color: #333;
    }
  }

  .desc-content {
    font-size: 26rpx;
    color: #666;
    line-height: 1.6;
  }
}

.ad-section {
  margin: 30rpx;
  padding: 30rpx;
  background: #fff;
  border-radius: 24rpx;
  box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.03);

  .ad-list {
    .ad-card {
      display: flex;
      background: #fff;
      border-radius: 16rpx;
      margin-bottom: 20rpx;
      box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.05);
      overflow: hidden;

      .ad-image {
        width: 360rpx; // 3/2 比例
        height: 240rpx;
        object-fit: cover;
      }

      .ad-info {
        flex: 1; // 3/1 比例
        padding: 20rpx;

        .ad-title {
          font-size: 28rpx;
          font-weight: 500;
          color: #333;
          margin-bottom: 8rpx;

        }

        .ad-desc {
          font-size: 24rpx;
          color: #999;
          margin-bottom: 12rpx;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;
          overflow: hidden;
        }

        .ad-price {
          font-size: 32rpx;
          color: #ff5722;
          font-weight: 600;
        }
      }

    }
  }
}

.address-card {
  margin: 30rpx;
  padding: 30rpx;
  background: #fff;
  border-radius: 24rpx;
  box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.03);

  .address-content {
    font-size: 26rpx;
    color: #666;
    line-height: 1.6;
  }
}

.card-title {
  font-size: 32rpx;
  font-weight: 600;
  color: #333;
  margin-bottom: 24rpx;

  &::before {
    content: '';
    display: inline-block;
    width: 6rpx;
    height: 32rpx;
    background: #ff5722;
    margin-right: 12rpx;
    vertical-align: middle;
    border-radius: 3rpx;
  }
}

.map-section {
  margin: 30rpx;
  padding: 30rpx;
  background: #fff;
  border-radius: 24rpx;
  box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.03);
  
  .route-map {
    width: 100%;
    height: 500rpx;
    border-radius: 16rpx;
    position: relative;
    margin-bottom: 20rpx;
  }
  
  .route-info {
    position: absolute;
    top: 20rpx;
    right: 20rpx;
    background: rgba(255, 255, 255, 0.9);
    padding: 16rpx 24rpx;
    border-radius: 12rpx;
    box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.1);
    
    .info-item {
      display: flex;
      align-items: center;
      margin: 8rpx 0;
      
      .label {
        font-size: 24rpx;
        color: #666;
        margin-right: 12rpx;
      }
      
      .value {
        font-size: 28rpx;
        color: #333;
        font-weight: 500;
      }
    }
  }
  
  .nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #3C9CFF;
    color: #fff;
    font-size: 26rpx;
    padding: 24rpx;
    border-radius: 12rpx;
    margin-top: 20rpx;
    
    .btn-icon {
      margin-right: 8rpx;
    }
  }
}